import {
  requestAPI, // 统一封装的请求函数
  baseUrl // 请求API地址
} from '../util/request'

/**
 * 提交订单
 * @param {Object} order 订单
 */
export function submitOrder(order){
  return new Promise((reslove,reject)=>{
    requestAPI({
      url:baseUrl + "indent/saveIndent",
      method:'POST',
      data:order,
    }).then(res=>{
      console.log("订单创建成功！",res);
      reslove(res.data)
    }).catch(err=>{
      console.log("订单创建失败！",err);
      reject(err)
    })
  })
}

/**
 * 修改指定ID的订单为指定状态
 * @param {String}} orderId  订单ID
 * @param {String} status  订单状态
 */
export function alterOrderStatus(orderId,status){
  return new Promise((reslove,reject)=>{
    requestAPI({
      url:baseUrl + 'indent/alterOrderStatus',
      method:'POST',
      data:{orderId,status},
      header:{
        ['content-type']:'application/x-www-form-urlencoded'
      }
    }).then(res=>{
      // console.log("修改订单状态成功！",res.data);
      reslove(res)
    }).catch(err=>{
      // console.log("修改订单状态失败！",err);
      reject(err)
    })
  })
}
/**
 * 获取订单列表
 * @param {*status} 要获取的订单列表的状态
 */
export function getOrders(status) {
  return requestAPI({
    url:baseUrl+"indent/getAllIndent",
    method:'get',
    data:{status}
  })
}
/**
 * 分页获取所有的订单列表,每页默认请求8条数据
 * @param {page} page 页数
 */
export function getOrderByPages(page,pageSize){
  return requestAPI({
    url:baseUrl+"indent/pageGetAllIndent",
    data:{"page":page,"pageSize":pageSize},
    // header:{
    //   ['content-type']:'application/json'
    // },
    method:'POST'
  })
}
/**
 * 获取订单的详细信息
 * @param {*id} id 要获取的订单的id
 */
export function getOrder(id) {
  return requestAPI({
    url:baseUrl+'indent/getDetailIndent',
    method:'get',
    data:{id}
  })
}
/**
 * 删除订单
 * @param {id} id 要删除的订单的id
 */
export function deleteOrder(orderId) {
 return  requestAPI({
    url:baseUrl+"indent/delOrder",
    method:"post",
    data:{orderId},
    header:{
      ['content-type']:'application/x-www-form-urlencoded'
    }
  })
}

/**
 * 统一下单
 * @param {String} body 商品描述 
 * @param {Number} totalFee 商品金额 
 */
export function payment(body,totalFee){
  return requestAPI({
    url:baseUrl+"payCenter/pay",
    method:"post",
    data:{body,totalFee}
  })
}



/**
 * 获取指定状态订单的数量
 * @param {String} status  订单状态 
 */
export function getOrderStatusCount(status){
  return requestAPI({
    url:baseUrl+"indent/getPaymentNum",
    method:"get",
    data:{status}
  })
}


/**
 * 获取最新未支付的订单信息
 */
export function getNewestUnpaidOrder(){
  return requestAPI({
    url:baseUrl + "indent/newestUnpaidOrder",
    method:"get"
  })
}